<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    
</body>
</html>
<script>
// es6解构赋值:          解构赋值就是从目标对象或数组中提取自己想要的变量。
                    // 最常用的场景是：element-ui,vant-ui按需引入，请求接口返回数据，提取想要数据。

                    
                    //数组结构
                    var a, b, rest;
                    [a, b] = [10, 20];
                    console.log(a); // 10
                    console.log(b); // 20

                    //对象解构
                    ({ a, b } = { a: 10, b: 20 });
                    console.log(a); // 10
                    console.log(b); // 20

                    // ...rest 解构数组
                    [a, b, ...rest] = [10, 20, 30, 40, 50];
                    console.log(a); // 10
                    console.log(b); // 20
                    console.log(rest); // [30, 40, 50]

                    // ...rest 解构对象（最新）
                    ({a, b, ...rest} = {a: 10, b: 20, c: 30, d: 40});
                    console.log(a); // 10
                    console.log(b); // 20
                    console.log(rest); // {c: 30, d: 40}

                    //解析一个从函数返回
                    function f() {
                    return [1, 2];
                    }

                    var a, b; 
                    [a, b] = f(); 
                    console.log(a); // 1
                    console.log(b); //
     //... 展开运算符  剩余操作符
                    let arr = [1, 2, 3, 4];
                    console.log("解构", ...arr);//展开--->  1 2 3 4
                    let arr2 = [...arr];//[1, 2, 3, 4]
                    console.log("Array2", arr2);//1 2 3 4
                //    arr == arr2
</script>